Modelling environments in call-by-value programming languages
نویسندگان
چکیده
In categorical semantics, there have traditionally been two approaches to modelling environments, one by use of finite products in cartesian closed categories, the other by use of the base categories of indexed categories with structure. Each requires modifications in order to account for environments in call-by-value programming languages. There have been two more general definitions along both of these lines: the first generalising from cartesian to symmetric premonoidal categories, the second generalising from indexed categories with specified structure to κ-categories. In this paper, we investigate environments in call-by-value languages by analysing a finegrain variant of Moggi’s computational λ-calculus, giving two equivalent sound and complete classes of models: one given by closed Freyd categories, which are based on symmetric premonoidal categories, the other given by closed κ-categories. © 2003 Elsevier Science (USA). All rights reserved.
منابع مشابه
Axiomatics for Data Refinement in Call by Value Programming Languages
We give a systematic category theoretic axiomatics for modelling data re nement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational -calculus, such as FPC and languages for modelling nondeterminism, and extensions of the rst order fragment of the computational -calculus, such as a CPS language. We give a category theoretic ...
متن کاملCall-by-value Games (extended Abstract)
A general construction of models of call-by-value from models of call-by-name computation is described. The construction relies on the fact that common denotational models of programming languages are also models of linear logic. When applied to categories of games, it yields fully abstract models of the call-by-value functional language PCFv and of a language with imperative features similar t...
متن کاملUniform Strong Normalization for Multi-Discipline Calculi
Modern programming languages have effects and mix multiple calling conventions, and their core calculi should too. We characterize calling conventions by their “substitution discipline” that says what variables stand for, and design calculi for mixing disciplines in a single program. Building on variations of the reducibility candidates method, including biorthogonality and symmetric candidates...
متن کاملOn the call-by-value CPS transform and its semantics
We investigate continuations in the context of idealized call-by-value programming languages. On the semantic side, we analyze the categorical structures that arise from continuation models of call-by-value languages. On the syntactic side, we study the call-by-value continuation-passing transformation as a translation between equational theories. Among the novelties are an unusually simple axi...
متن کاملHandout 7: Call by Name and Call by Value
In Handout 4, we have examined the reduction semantics of lambda calculus, and noted the difference between the normal order reduction, which chooses leftmost-outermost redexes for reduction at every stage, and the applicative order reduction, which chooses innermost redexes for reduction at every stage. We noted that the normal order reduction strategy is always able to find the normal form of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Inf. Comput.
دوره 185 شماره
صفحات -
تاریخ انتشار 2003